package com.lyh.mall.product.feign;

import com.lyh.common.to.SkuReductionTo;
import com.lyh.common.to.SpuBoundTo;
import com.lyh.common.utils.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

@FeignClient("mall-coupon")
public interface CouponFeignService {

    /**
     * couponFeignService.saveSpuBounds(spuBoundTo);
     *      1) @RequestBody将这个对象转为json
     *      2）找到mall-coupon服务，给/coupon/spubounds/save发送请求
     *      3）对方服务收到请求，请求体里有json数据。
     *          (@RequestBody SpuBoundTo spuBoundTo); 将请求体的json转为SpuBoundsEntity；
     *    总结：只要json数据模型是兼容的，双方服务无需使用同一个to
     *
     * 保存spu的积分信息：mall_sms--->sms_spu_bounds (调用远程模块)
     * @param spuBoundTo
     */
    @PostMapping("/coupon/spubounds/save")
    R saveSpuBounds(@RequestBody SpuBoundTo spuBoundTo);

    /**
     * sku的优惠、满减等信息保存
     * @param skuReductionTo
     * @return
     */
    @PostMapping("/coupon/skufullreduction/saveinfo")
    R saveSkuReduction(@RequestBody SkuReductionTo skuReductionTo);

}
